The present invention relates to a method and an arrangement for multi-casting, i.e. point to multipoint transmission of a data packet. A packet is copied and transmitted to multiple addresses. The present invention improves the efficiency of multicasting by distributing copying of the data packets on several output ports of a switch core (e.g. an ATM switch).
Various arrangements for achieving multicasting are known in the prior art. Generally, a multicasting packet is received by an input port of a packet switch. In a first solution, the input port is required to copy a data packet such that a copy may be sent on a number of output links to each address of an address portion. A problem with this technology is that the input port is monopolised by the multicasting packet so that the input port is blocked during the copying. Thus, undesired delays are created making this solution unsuitable for fast streaming of multicast data.
Another alternative is to let the replication be performed by buffering the message in the switch core, and let the output port read it once for each intended receiver. This requires decision making in the switch core logic, which is the most time critical part of the switch, and in high speed systems it is favourable to keep this as simple as possible.
The present invention solves this problem by transferring the copying function from the input port to the output port of the packet switch. The output port copies the data packet and sends one packet on its output link while one copy is returned with a modified address to an input port. This input port handles this copy as a new multicasting packet and sends it on to an output port which again performs the copying function. This process is iterated until the last address of the original multicasting packet is reached and the last copy is transmitted.
Thus, the present invention provides a multicasting arrangement comprising a switch core and input and output ports connected to input and output links, respectively, for transmitting data packets.
According to the invention, the input port is adapted to detect a multicasting packet received on an input link or from an output port and to send the multicasting packet to an output port. The output port is adapted to detect the multicasting packet, copy the data packet, modify an address portion of the multicasting packet, send one packet on the output link and return one packet with the modified address portion to an input port.
Preferably, the input port and the output port are integrated in a link interface having a direct channel for returning the data packet.
The present invention also provides a multicasting method. The arrangement and method according to the invention are set forth in claims 1 and 8, respectively, while preferred embodiments are defined in the dependent claims.